﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Collections;

namespace Model
{
    public class ProjektColl
    {
        //atributter
        private List<Projekt> projekter;

        //Konstruktør
        public ProjektColl()
        {
            projekter = new List<Projekt>();
        }

        #region Operationer på projekt-objekter

        //Metode til at oprette et projekt objekt og tilføje det til listen
        public void OpretProjekt(int projektNr, string titel)
        {
            Projekt projekt = new Projekt(projektNr, titel);
            projekter.Add(projekt);
        }

        //Metode til at finde et projekt
        public Projekt FindProjekt(int projektNr)
        {
            foreach (Projekt projekt in projekter)
            {
                if (projekt.ProjektNr == projektNr)
                {
                    return projekt;
                }
            }
            return null;
        }

        //metode til at finde et projektnummer ud fra titlen
        public int FindprojektNrUdFraNavn(string titel)
        {
            foreach (Projekt projekt in projekter)
            {
                if (projekt.Titel == titel)
                {
                    return projekt.ProjektNr;
                }
            }
            return 0;
        }


        // Metode til at hente projekt iterator
        public IEnumerator GetProjekter()
        {
            return projekter.GetEnumerator();
        }

        #endregion

        #region Associeringsmetoder
        
        // Kald af metode til at associere et arbejdslog-objekt
        public void TilknytArbejdslog(int projektNr, Arbejdslog arbejdslog)
        {
            Projekt projekt = FindProjekt(projektNr);
            projekt.TilknytArbejdslog(arbejdslog);
        }

        // Kald af metode til at hente liste af associerede arbejdslogs
        public IEnumerator GetMineArbejdslogs(int projektNr)
        {
            Projekt projekt = FindProjekt(projektNr);
            return projekt.GetMineArbejdslogs();
        }
         
        #endregion
    }
}
